Skip to content

chore: version packages#9

Closed
github-actions[bot] wants to merge 1 commit intomainfrom
changeset-release/main
Closed

chore: version packages#9
github-actions[bot] wants to merge 1 commit intomainfrom
changeset-release/main

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@walkthru-earth/objex@1.3.0

Minor Changes

  • 07e1570 Thanks @yharby! - Canonical connection identity and deduplication across every write path.

    • New utils/connection-identity.ts (exported from src/lib/index.ts): connectionIdentityKey, isSameConnectionIdentity, normalizeEndpoint, normalizeProvider, ConnectionIdentityInput. Identity is provider-aware: azureprovider|endpoint|bucket, gcsprovider|bucket (global namespace), s3 with empty endpoint → s3|bucket|region (region is load-bearing for signing), all other S3-compatible providers → provider|normalizedEndpoint|bucket. normalizeEndpoint lowercases host, strips default ports (:443/:80) and trailing slashes, and preserves explicit non-default ports and pathnames so http vs https, :443 vs empty, and trailing-slash drift collapse to one key.
    • connections store: removed findByBucketEndpoint (bucket+endpoint string match, which produced silent duplicates for AWS same-bucket-different-region and custom S3-compat scheme/port drift, and was bypassed entirely by the manual Add Connection dialog). Every write path now dedups through connectionIdentityKey:
      • save(config) returns { id, existed }. On existed: true, the row is reused and credentials from the new config overwrite the old ones.
      • update(id, config) throws the new DuplicateConnectionError when the new identity would collide with a different saved row, so edits can't silently produce phantom duplicates.
      • saveHostConnection(detected) continues to be the auto-detect entry and returns the final id, either reused or newly inserted.
      • New public findByIdentity(input) exposes the same key for callers that need to check without writing.
    • ConnectionDialog surfaces both outcomes: amber "merged into existing" notice on dedup and destructive "already used by X" block on edit collision, with the offending connection's name.
    • Build: svelte-check 0 errors, publint clean, no $lib/ leaks in dist/.
  • 676c792 Thanks @yharby! - Bump the @developmentseed/deck.gl-geotiff family to 0.6.0-alpha.1 and add two new viewers plus a dual-path Zarr renderer. No breaking changes to existing tabs, and CogViewer behavior is unchanged.

    What's new

    • StacMosaicViewer (renamed from SentinelMosaicViewer, wrapped in a new StacTabViewer). ViewerRouter now detects STAC Items / FeatureCollections / Collections / Catalogs via a 256 KB adapter peek (utils/stac.ts::classifyStac) and mounts a tab wrapper with Map / STAC Browser / JSON buttons (URL hash #map / #stac-browser / #code, shareable). The user can always toggle back to the third-party stac-browser iframe. For Collection / Catalog inputs, utils/stac-hydrate.ts::hydrateStacItems walks links[rel=item|child|next] with a 12-way concurrency pool and a 2000-item cap, emitting progressive batches so the MosaicLayer starts rendering after ~1–2s. Each inner COG still runs through selectCogPipeline, so palette-indexed short-circuits, non-uint custom pipelines, LinearRescale, and normalizeCogGeotiff (overview strip + polar bbox clamp) all apply per scene. Shared DecoderPool and createEpsgResolver across every inner source.
    • MultiCogViewer. STAC Item JSON routes here when eo:bands.common_name or MPC/Element 84/AWS asset-key heuristics identify at least the red/green/blue Sentinel-2 bands. Preset dropdown (True Color / False-Color IR / SWIR / Vegetation / Agriculture) drives the v0.6 MultiCOGLayer.composite prop, and a FilterNoDataVal + LinearRescale pipeline (0..0.3 default for L2A reflectance) mask scene edges and stretch contrast.
    • Zarr dual path. utils/zarr.ts::detectGeoZarr inspects hierarchy attributes for the GeoZarr convention (multiscales + spatial + CRS). Matching stores render via @developmentseed/deck.gl-zarr ZarrLayer on MapboxOverlay; anything else falls through to the existing @carbonplan/zarr-layer path with its 10 k-tile guard and numcodecs codec aliases.
    • New utilities. utils/stac.ts (STAC item/FeatureCollection shape checks, Sentinel band extraction, bbox helper). utils/cog.ts gains buildMosaicSourceMeta, buildBandRenderPipeline (composes FilterNoDataVal + LinearRescale in GPU-correct order). utils/zarr.ts gains detectGeoZarr and zarrTileToImageData.
    • CogControls mode prop. Accepts 'single' (default, full band + color-ramp UI) or 'multi' (rescale slider only). MultiCogViewer uses the new mode; existing CogViewer is unchanged.

    Package bumps

    @developmentseed/deck.gl-geotiff, deck.gl-raster, geotiff, proj, epsg: ^0.5.0 → ^0.6.0-alpha.1. New deps: @developmentseed/deck.gl-zarr@^0.6.0-alpha.1 (pulls in @developmentseed/geozarr transitively). zarrita bumped ^0.6.2 → ^0.7.1, forced across the tree via pnpm.overrides so @carbonplan/zarr-layer@^0.4.3 runs on the same major.

    Patches

    patches/@developmentseed__deck.gl-geotiff@0.5.0.patch renamed and re-attached as @0.6.0-alpha.1.patch. Both hunks (proj4 +over antimeridian fix, inferRenderPipeline re-export) still apply unchanged, upstream tickets #366 and PR #374 remain open.

    New patch patches/@carbonplan__zarr-layer@0.4.3.patch replaces two calls to zarr.tryWithConsolidated() with Promise.resolve(baseStore). The helper was removed in zarrita 0.7, and the override above forces 0.7 across the tree, which otherwise surfaced as a runtime (void 0) is not a function inside _onAddAsync when mounting the legacy ZarrLayer. Consolidated metadata (.zmetadata) is still fetched manually by the library's own _loadV2, so skipping the helper is behavior-preserving.

    Vite config

    optimizeDeps.include extended with @developmentseed/deck.gl-zarr and its geozarr + raster-reproject leaves, plus zarrita itself.

  • 439dfd7 Thanks @yharby! - Add stac-geoparquet support.

    • objex-utils: new stac-geoparquet module with pure transforms that any consumer can use: isStacGeoparquetSchema, stacRowToItem, flattenStacBbox, resolveStacAssetHref, pickStacPrimaryAsset, plus StacGeoparquetRow / StacBboxStruct / StacGeoparquetSchemaColumn / StacRowToItemOptions types.
    • objex Svelte lib: ViewerRouter detects stac-geoparquet via hyparquet schema sniff and routes matching .parquet / .geoparquet files to StacTabViewer. A new query/stac-geoparquet.ts helper uses the existing DuckDB engine (presigned URL, single worker, cancellable) to materialize a STAC FeatureCollection in one shot; StacMosaicViewer consumes it through the same buildMosaicSourceMeta + MosaicLayer path as JSON catalogs. StacTabViewer now shows a "Parquet" badge, relabels the last tab as "Table" (mounting TableViewer), and disables the STAC Browser iframe button with a tooltip since Radiant Earth stac-browser is JSON-only. The stac-map DevSeed iframe handles parquet on its own, so its button is unchanged.

@walkthru-earth/objex-utils@1.3.0

Minor Changes

  • 676c792 Thanks @yharby! - Bump the @developmentseed/deck.gl-geotiff family to 0.6.0-alpha.1 and add two new viewers plus a dual-path Zarr renderer. No breaking changes to existing tabs, and CogViewer behavior is unchanged.

    What's new

    • StacMosaicViewer (renamed from SentinelMosaicViewer, wrapped in a new StacTabViewer). ViewerRouter now detects STAC Items / FeatureCollections / Collections / Catalogs via a 256 KB adapter peek (utils/stac.ts::classifyStac) and mounts a tab wrapper with Map / STAC Browser / JSON buttons (URL hash #map / #stac-browser / #code, shareable). The user can always toggle back to the third-party stac-browser iframe. For Collection / Catalog inputs, utils/stac-hydrate.ts::hydrateStacItems walks links[rel=item|child|next] with a 12-way concurrency pool and a 2000-item cap, emitting progressive batches so the MosaicLayer starts rendering after ~1–2s. Each inner COG still runs through selectCogPipeline, so palette-indexed short-circuits, non-uint custom pipelines, LinearRescale, and normalizeCogGeotiff (overview strip + polar bbox clamp) all apply per scene. Shared DecoderPool and createEpsgResolver across every inner source.
    • MultiCogViewer. STAC Item JSON routes here when eo:bands.common_name or MPC/Element 84/AWS asset-key heuristics identify at least the red/green/blue Sentinel-2 bands. Preset dropdown (True Color / False-Color IR / SWIR / Vegetation / Agriculture) drives the v0.6 MultiCOGLayer.composite prop, and a FilterNoDataVal + LinearRescale pipeline (0..0.3 default for L2A reflectance) mask scene edges and stretch contrast.
    • Zarr dual path. utils/zarr.ts::detectGeoZarr inspects hierarchy attributes for the GeoZarr convention (multiscales + spatial + CRS). Matching stores render via @developmentseed/deck.gl-zarr ZarrLayer on MapboxOverlay; anything else falls through to the existing @carbonplan/zarr-layer path with its 10 k-tile guard and numcodecs codec aliases.
    • New utilities. utils/stac.ts (STAC item/FeatureCollection shape checks, Sentinel band extraction, bbox helper). utils/cog.ts gains buildMosaicSourceMeta, buildBandRenderPipeline (composes FilterNoDataVal + LinearRescale in GPU-correct order). utils/zarr.ts gains detectGeoZarr and zarrTileToImageData.
    • CogControls mode prop. Accepts 'single' (default, full band + color-ramp UI) or 'multi' (rescale slider only). MultiCogViewer uses the new mode; existing CogViewer is unchanged.

    Package bumps

    @developmentseed/deck.gl-geotiff, deck.gl-raster, geotiff, proj, epsg: ^0.5.0 → ^0.6.0-alpha.1. New deps: @developmentseed/deck.gl-zarr@^0.6.0-alpha.1 (pulls in @developmentseed/geozarr transitively). zarrita bumped ^0.6.2 → ^0.7.1, forced across the tree via pnpm.overrides so @carbonplan/zarr-layer@^0.4.3 runs on the same major.

    Patches

    patches/@developmentseed__deck.gl-geotiff@0.5.0.patch renamed and re-attached as @0.6.0-alpha.1.patch. Both hunks (proj4 +over antimeridian fix, inferRenderPipeline re-export) still apply unchanged, upstream tickets #366 and PR #374 remain open.

    New patch patches/@carbonplan__zarr-layer@0.4.3.patch replaces two calls to zarr.tryWithConsolidated() with Promise.resolve(baseStore). The helper was removed in zarrita 0.7, and the override above forces 0.7 across the tree, which otherwise surfaced as a runtime (void 0) is not a function inside _onAddAsync when mounting the legacy ZarrLayer. Consolidated metadata (.zmetadata) is still fetched manually by the library's own _loadV2, so skipping the helper is behavior-preserving.

    Vite config

    optimizeDeps.include extended with @developmentseed/deck.gl-zarr and its geozarr + raster-reproject leaves, plus zarrita itself.

  • 439dfd7 Thanks @yharby! - Add stac-geoparquet support.

    • objex-utils: new stac-geoparquet module with pure transforms that any consumer can use: isStacGeoparquetSchema, stacRowToItem, flattenStacBbox, resolveStacAssetHref, pickStacPrimaryAsset, plus StacGeoparquetRow / StacBboxStruct / StacGeoparquetSchemaColumn / StacRowToItemOptions types.
    • objex Svelte lib: ViewerRouter detects stac-geoparquet via hyparquet schema sniff and routes matching .parquet / .geoparquet files to StacTabViewer. A new query/stac-geoparquet.ts helper uses the existing DuckDB engine (presigned URL, single worker, cancellable) to materialize a STAC FeatureCollection in one shot; StacMosaicViewer consumes it through the same buildMosaicSourceMeta + MosaicLayer path as JSON catalogs. StacTabViewer now shows a "Parquet" badge, relabels the last tab as "Table" (mounting TableViewer), and disables the STAC Browser iframe button with a tooltip since Radiant Earth stac-browser is JSON-only. The stac-map DevSeed iframe handles parquet on its own, so its button is unchanged.

@github-actions github-actions Bot force-pushed the changeset-release/main branch 2 times, most recently from 2a95bed to f6379e5 Compare April 24, 2026 09:10
@github-actions github-actions Bot force-pushed the changeset-release/main branch from f6379e5 to b80153f Compare April 24, 2026 09:13
@yharby
Copy link
Copy Markdown
Contributor

yharby commented Apr 24, 2026

Closing in favor of a refreshed changeset that also captures the post-PR commits (GPU colormap sprite, STAC mosaic pixel inspection, dependency normalization). The changesets workflow will re-open a fresh "chore: version packages" PR on next push to main.

@yharby yharby closed this Apr 24, 2026
yharby added a commit that referenced this pull request Apr 24, 2026
…pection for 1.3.0

Adds the two feature changesets that landed after PR #9 was opened (#9
closed manually). The next automation run will regenerate the version
PR with the consolidated 1.3.0 notes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant